using System;
using System.Collections.Generic;
using System.Text;
using PQT_RELACIONAL;
using ENT_Entidades;
using PQT_Login.ENT;
using System.Data;
using System.Collections;
using DAL_Acceso.a.Datos;//0_DAL_Acceso.a.Datos;

namespace PQT_Login.DAL
{
    //internal class intermediarioUsuarios:absIntermediario 
    internal class intermediarioUsuarios:IntermediarioPersistenciaRelacional//, absIntermediario
    {
        public static string IDintermediario = "6BB400BA-E5B3-4e36-9F2A-BEA26925E312";
        //TODO:ASK to Naty
		private string Tabla =  "Usuarios";
        

         #region Implemento patron Singleton
        private static intermediarioUsuarios _instancia;
        public static intermediarioUsuarios getInstance()
        {
            if (_instancia == null) { _instancia = new intermediarioUsuarios(); }
            return _instancia;
        }

        private intermediarioUsuarios()
        {
            inicializar();
        } 
        #endregion

        
        //public override intermediarioUsuarios crear()
        public override IntermediarioPersistenciaRelacional crear()
        {
            throw new Exception("The method or operation is not implemented.");
        }

        //public override intermediarioUsuarios buscarxID(clsOID id)
        public override IntermediarioPersistenciaRelacional buscarxID(clsOID id)
        {
            throw new Exception("The method or operation is not implemented.");
        }

        //private override void inicializar()
        public override void inicializar()
        {
            //Tabla = "Usuarios";
            base.ID_Intermediario = new clsOID( IDintermediario);
        }

        public override IEntidad getObjeto(IEntidad ent)
        {
            string[,] nomParam = new string[2, 3];
            clsUsuario usuario = (clsUsuario)ent;

            dtsUsuarios Dts = new dtsUsuarios();

            DataSet dts = AD_Leer(Dts, Dts.Usuarios.TableName, SP_CLINICA.leerUsuarioLogin, nomParam);

            dtsUsuarios DtsUsuario  = (dtsUsuarios) dts;

            //TODO:Revisar
            return usuario;
        }

        private String selectTODOSSQL() {
            string sql = "";// new String();
            sql = "select * from " + Tabla;
            return sql;
        }        

        //public override ArrayList buscarTodos() {
        //    string query;
        //    query = selectTODOSSQL();
        //    ArrayList usr= ejecutarSQL(query);
        //    return usr;
        //}
        public override DataSet buscarTodos()
        {
            string query;
            query = selectTODOSSQL();
            DataSet usr = ejecutarSQL(query);
            return usr;
        }

        private DataSet ejecutarSQL(string query)
        {
            throw new Exception("The method or operation is not implemented.");
        }
    
//public override object  buscarxID()
//{
//    throw new Exception("The method or operation is not implemented.");
//}

        public override object buscarxID()
        {
            throw new Exception("The method or operation is not implemented.");
        }
    }
}
